There are many ways of creating such curves. Many of these involve putting a smooth function through a set of control points that can be moved by a Graphical User Interface (GUI). Often, one wishes to modify an existing set of curves by attaching control points thereto and moving the control points. If the control points are not moved then the original curve is retained. If the control points are moved by some relatively small degree then features of the curve should be displaced appropriately. However, the curve features should not be obliterated.
What is needed in this art is method, which enables a user to modify an arbitrary curve in 2D, which may not have a simple parametric form or may be too rough to compactly fit with standard interpolation methods.